# coding:utf-8

import logging
from datetime import datetime

from flask import jsonify

from app import db
from app.models.NumberTask import NumberTask

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)


def updateTaskStatus(task_id, new_status):
    try:
        # 检查参数是否存在
        if task_id is None or new_status is None:
            return jsonify({"error": "参数 'id' 和 'status' 是必需的"}), 400
        # 查找任务
        task = NumberTask.query.get(task_id)
        if not task:
            return jsonify({"error": "任务不存在"}), 404

        # 更新任务状态
        task.status = new_status
        task.update_time = datetime.now()  # 更新时间
        # 提交更改
        db.session.commit()
        logger.info(f"内部-手机号码生成|任务 {task_id} 状态更新为 {new_status} 成功")
    except Exception as e:
        logger.error(f"内部-手机号码生成|更新任务状态失败: {e}")

def updateTaskSuccessNum(task_id, success_num):
    try:
        # 检查参数是否存在
        if task_id is None or success_num is None:
            return jsonify({"error": "参数 'id' 和 'quantity' 是必需的"}), 400
        # 查找任务
        task = NumberTask.query.get(task_id)
        if not task:
            return jsonify({"error": "任务不存在"}), 404
        # 更新任务数量
        task.success_num = success_num
        task.update_time = datetime.now()  # 更新时间
        # 提交更改
        db.session.commit()
        logger.info(f"内部-手机号码生成|任务 {task_id} 数量更新为 {success_num} 成功")
    except Exception as e:
        logger.error(f"内部-手机号码生成|更新任务数量失败: {e}")
        return jsonify({"error": str(e)}), 500